package com.supermap.dubbo.api.common;


import com.supermap.dataservice.util.JSONUtil;
import com.supermap.dataservice.util.JSONUtils;

/**
 * @Author:langhongshuai
 * @Description:区域业务层
 * @Date:18/1/8 上午11:15
 */
public interface AreaService {

    /**
     * 获得所有的区域信息
     * @return
     */
    public JSONUtil getAllAreas();

    /**
     * 通过区域名获取区域信息
     * @param areaName
     * @return
     */
    public JSONUtil getAreaByName(String areaName);

    /**
     * 通过areacode获得所有的区域信息以及下属区域
     * @return
     */
    public JSONUtil getAreasByCode(String code);

    /**
     * 通过用户id，查询关注区域
     * @param userId
     * @return
     */
    public JSONUtil getFocusAreaByUserId(String userId);

    /**
     * 删除用户关注的区域
     * @param userid
     * @param areaCode
     */
    public JSONUtil delFocusAreaCode(String userid, String areaCode);


    /**
     * 增加用户关注的区域
     * @param userid
     * @param areaCode
     */
    public JSONUtil addFocusAreaCode(String userid, String areaCode);


    /**
     * 根据编码和编码长度获取模糊查询区域数据
     * @param length
     * @param areaCode
     * @return
     */
    public JSONUtils getFuzzAreasByCode(Integer length , String areaCode);

}
